package com.custom.action.core.annotations;

import com.custom.comm.utils.Constants;

import java.lang.annotation.*;

/**
 * 表注解，表示这是一个表对应的实体
 *
 * @author Xiao-Bai
 * @since 2021/6/28
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DbTable {

    /**
     * 表名称
     * <br/> 当表名未设置时，则按照配置规则自动解析表名
     *
     * @return value
     * @see com.custom.comm.enums.TableNameStrategy
     */
    String value() default "";


    /**
     * 指定表的别名
     */
    String alias() default "a";


    /**
     * 指定表的说明
     */
    String desc() default Constants.EMPTY;


    /**
     * 若存在动态数据源，则指定该值与dataSource中的order一致即可
     */
    int order() default 1;


}
